Show results of running driver, the code is broken
Ask by table:
Help me demonstrate that this code is broken with a test
Here are a few candidate characteristics of a good test: Fast, Independent, Reliable, Self-validating, Timely. Which of these apply to your approach? Do all of these apply?
Start running demo in XP under Parallels so I can discuss those results
Poll Tables
Collect their ideas (added to results of workshop)
Ask if anybody has coded it and if so do they want to demo it?
If not, anybody want to pair on this?
Collect group testing ideas
Demo my test, walk through it. Run it with 2 threads, 10000 loops.
Run with OS X 1.5 and 1.6 JVM, run with Parallels-based XP running JDK ?
Relate examples from developing course
Discuss a few findings
Reduce numbers to 2 and 20 and then run it with ConTest
Question: How do we trade-off repeatability and fast in this context?
Part 2: Deadlock and Dining Philosophers
Problem: Imagine you have two pooled resources: one bucket of MQ connections and one bucket of database connections. Also imagine 4 operations: CRUD, each of which uses one connection and one database. Finally, assume these operations are fronted by some threaded environment, e.g. a web-server:
In your groups discuss the following:
Is deadlock possible?
Describe a specific scenario that causes it?
How can you guarantee it cannot happen?
How can you demonstrate deadlock occurring via a test?
How can you show that it probably isn't going to happen?
Part 0
Begin running driver that exercises ObjectWithValue before the start.At start, David Nunn will present himself and myself.
Part 1: Prove it's broken
Part 2: Deadlock and Dining Philosophers
Problem: Imagine you have two pooled resources: one bucket of MQ connections and one bucket of database connections. Also imagine 4 operations: CRUD, each of which uses one connection and one database. Finally, assume these operations are fronted by some threaded environment, e.g. a web-server:
Dining Philosophers:
Part 3: Refactorig to SRP to test
Show example system that is not performing.
What should I do to make this testable?